package com.ys.entity.storage;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCC_AdditionalBillingMaint", catalog="Id")
public class TccAdditionalBillingMaint extends BaseEntity<TccAdditionalBillingMaint> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="MethodId", nameJava="methodId", typeDataBase="bigint")
	private Long methodId;
	@YsField(nameDataBase="WarehouseArea", nameJava="warehouseArea", typeDataBase="varchar")
	private String warehouseArea;
	@YsField(nameDataBase="FirstPostalCode", nameJava="firstPostalCode", typeDataBase="varchar")
	private String firstPostalCode;
	@YsField(nameDataBase="WarehouseCode", nameJava="warehouseCode", typeDataBase="varchar")
	private String warehouseCode;
	@YsField(nameDataBase="AdditionalBilling", nameJava="additionalBilling", typeDataBase="decimal")
	private BigDecimal additionalBilling;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TccAdditionalBillingMaint setId(Long id) {
		this.id = id;
		return this;
	}
	public Long getMethodId() {
		return methodId;
	}
	public TccAdditionalBillingMaint setMethodId(Long methodId) {
		this.methodId = methodId;
		return this;
	}
	public String getWarehouseArea() {
		return warehouseArea;
	}
	public TccAdditionalBillingMaint setWarehouseArea(String warehouseArea) {
		this.warehouseArea = warehouseArea;
		return this;
	}
	public String getFirstPostalCode() {
		return firstPostalCode;
	}
	public TccAdditionalBillingMaint setFirstPostalCode(String firstPostalCode) {
		this.firstPostalCode = firstPostalCode;
		return this;
	}
	public String getWarehouseCode() {
		return warehouseCode;
	}
	public TccAdditionalBillingMaint setWarehouseCode(String warehouseCode) {
		this.warehouseCode = warehouseCode;
		return this;
	}
	public BigDecimal getAdditionalBilling() {
		return additionalBilling;
	}
	public TccAdditionalBillingMaint setAdditionalBilling(BigDecimal additionalBilling) {
		this.additionalBilling = additionalBilling;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TccAdditionalBillingMaint setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TccAdditionalBillingMaint setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TccAdditionalBillingMaint setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TccAdditionalBillingMaint tccAdditionalBillingMaint(
		Long methodId,
		String warehouseArea,
		String firstPostalCode,
		String warehouseCode,
		BigDecimal additionalBilling,
		Integer status
			) {
		TccAdditionalBillingMaint entity = new TccAdditionalBillingMaint();
		entity.setMethodId(methodId);
		entity.setWarehouseArea(warehouseArea);
		entity.setFirstPostalCode(firstPostalCode);
		entity.setWarehouseCode(warehouseCode);
		entity.setAdditionalBilling(additionalBilling);
		entity.setStatus(status);
		return entity;
	}
}